-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[MTG-1360] release process #431
Conversation
- Implement release preparation/finalization - Standardize branch naming to use release/v* format consistently - Update documentation to reflect automated version bumping
@@ -142,7 +143,8 @@ jobs: | |||
runs-on: ubuntu-latest | |||
needs: [build-base-image, build-binary-images] | |||
steps: | |||
- name: Repository dispatch | |||
- name: Repository dispatch for development | |||
if: startsWith(github.ref, 'refs/heads/develop') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a dispatch for prod
using the same values:
secrets.DISPATCH_TOKEN_PROD
https://api.github.com/repos/adm-metaex/aura-config-prod/dispatches
.github/workflows/docker.yml
Outdated
@@ -132,7 +133,7 @@ jobs: | |||
with: | |||
context: . | |||
file: docker/app.Dockerfile | |||
push: ${{ env.PUSH_CONDITION }} | |||
push: ${{ env.PUSH_CONDITION || startsWith(github.ref, 'refs/tags/') }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would trust only env.PUSH_CONDITION
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please use the latest v4 version
Please also update
with:
tnx |
We may also use concurrency: concurrency: This ensures that only the latest push is built. |
- name: Setup GitHub CLI | ||
run: | | ||
set -e | ||
echo ${{ secrets.GITHUB_TOKEN }} | gh auth login --with-token |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I recommend using the GH_TOKEN environment variable
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||
# --- Post-Release Version Bump --- | ||
|
||
- name: Checkout develop branch for version bump |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please use:
uses: actions/checkout@v4
with:
ref: develop
fetch-depth: 0
- Update docker.yml to ensure proper tag pushing with PUSH_CONDITION - Remove redundant version tag format (keeping only v-prefixed tags) - Set GH_TOKEN at job level in both release workflows - Remove unnecessary GitHub CLI authentication steps
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LRFBTM
This PR implements a fully automated release process using GitHub Actions. The process is triggered manually and handles all steps from creating a release branch to publishing Docker images and bumping the development version.
Workflow Overview
The release process is split into two main workflows:
release-prepare.yml
:workflow_dispatch
with the desired release version (e.g.,0.5.0
).release/vX.Y.Z
branch fromdevelop
.Cargo.toml
and other relevant files.CHANGELOG.md
file usinggit-cliff
based on Conventional Commits.main
.release-finalize.yml
:release/
branch is merged intomain
.v0.5.0
).develop
.develop
.0.5.1-dev
).develop
and pushes the changes (with automatic PR creation and merge). This includes a check to prevent race conditions if commits are made directly todevelop
during the release process.Key Features
git-cliff
automatically generates a changelog based on Conventional Commits.cargo-edit
is used to update version numbers inCargo.toml
files.develop
branch is automatically bumped after the release.develop
if commits are made during the release process.set -e
to exit immediately on any command failure.gh
) is used for creating and merging pull requests.How to Trigger a Release
0.5.0
) without the "v" prefix.develop
.The rest of the process is automated. The "Prepare Release" workflow will create a pull request to
main
. Once that pull request is merged, the "Finalize Release" workflow will complete the release process.